home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / t_os / cutf / asm / cutfl2.hd6 < prev    next >
Text File  |  1993-07-08  |  5KB  |  407 lines

  1. ds_name        db    'MOZCF\CUTFL',0
  2.  
  3.                         ; out  400 dd f_name1
  4.                         ; out  500 dw kugiri.no
  5.                         ; in  502 dd f_size
  6.                         ; out  404 dd f_name2
  7.                         ; out  408 dd f_namef
  8.  
  9.  
  10. look_me:
  11.      call sub_esi
  12.      dd  0,0
  13.      dw  1,0           ; wind need
  14.      dw  649,379,0,50 ; sz_x sz_y off x  off y
  15.      dw  0,0          ; waku iro  meniro 
  16.      dw  0,0
  17.  
  18. paint_wd:
  19.      SET_P ndshok
  20.      SET_P ndcutf
  21.      SET_P ndera
  22.      SET_P ndsaki
  23.      SET_P ndcsize
  24.  
  25.      mov ax,ds
  26.      mov es,ax
  27.  
  28.        mov ah,0Ch
  29.        mov dh,4
  30.        mov dl,4
  31.        call MOUSE
  32.  
  33.      call yobu
  34.      jmp pp_stat
  35.  
  36.  
  37. re_paint:
  38. be_called:
  39. mouse_in:
  40.      ret
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47. pp_stat:
  48.      call filein
  49.      call fn_chk
  50.      call w_fsz
  51.      call get_fn
  52.      call sakichk
  53.      call sizechk
  54.      call w_fcs
  55.      call erabuchk
  56.      call cutf
  57.  
  58.      jmp pp_stat
  59.  
  60.  
  61. filein:
  62.      call f_name1
  63.      KAKU 400,edi
  64.  
  65.      CALL_P ndshok
  66.  
  67.      YOMU eax,502
  68.      call f_size
  69.      mov [edi],eax
  70.  
  71.      ret
  72.  
  73. w_fsz:
  74.      call f_size
  75.      mov eax,[edi]
  76.      mov edx,0
  77.      mov ebx,1000
  78.      div ebx
  79.  
  80.      call mozi_fsize
  81.      add edi,14
  82.  
  83.      call stom_6
  84.  
  85.      MOZI mozi_fsize
  86.  
  87.      ret
  88.  
  89. w_fcs:
  90.      BOX box_f3,1
  91.  
  92.      YOMU eax,506
  93.      mov edx,0
  94.      mov ebx,1000
  95.      div ebx
  96.  
  97.      call mozi_fcs
  98.      add edi,17
  99.  
  100.      call stom_3
  101.  
  102.      MOZI mozi_fcs
  103.      ret
  104.  
  105. get_fn:
  106.      call f_name1     ;edi
  107.      mov edx,edi
  108. get_fn0:
  109.      mov al,[edx]
  110.      inc edx
  111.      cmp al,0     ; shippo
  112.      jne get_fn0
  113.  
  114. get_fn1:
  115.      dec edx
  116.      mov al,[edx]
  117.      cmp al,'\'     ; dir search
  118.      jne get_fn1
  119.  
  120.  
  121.      call f_namef
  122. get_fn2:
  123.      mov al,[edx]
  124.      mov [edi],al
  125.      inc edx
  126.      inc edi
  127.      cmp al,'.'     ; kakchoshi tuki
  128.      je get_fn3
  129.      cmp al,0
  130.      jne get_fn2
  131.  
  132.      dec edi
  133.      mov al,'.'
  134.      mov [edi],al
  135.  
  136.      inc edi
  137.  
  138. get_fn3:
  139.      mov al,[edx]     ; kakchoshi check
  140.      cmp al,'$'
  141.      je get_fn4
  142.  
  143.      mov al,'$'
  144.      mov [edi],al
  145.  
  146.      inc edi
  147.      mov al,'0'
  148.      mov [edi],al
  149.      inc edi
  150.      mov [edi],al
  151.  
  152.      inc edi
  153.      mov al,0
  154.      mov [edi],al
  155.  
  156.      ret
  157.  
  158. get_fn4:
  159.      mov [edi],al     ; $ tuki 
  160.      inc edx
  161.      inc edi
  162.      mov al,[edx]
  163.      inc al
  164.      mov [edi],al
  165.  
  166.      mov al,'0'
  167.      inc edi
  168.      mov [edi],al
  169.  
  170.      inc edi
  171.      mov al,0
  172.      mov [edi],al
  173.  
  174.      ret
  175.           
  176.  
  177. sakichk:
  178.      call f_name1
  179.      KAKU 400,edi
  180.  
  181.      call f_name2
  182.      KAKU 404,edi
  183.  
  184.      call f_namef
  185.      KAKU 408,edi
  186.  
  187.      CALL_P ndsaki
  188.  
  189.      call fn_chk1
  190.      ret
  191.  
  192. sizechk:
  193.      CALL_P ndcsize
  194.      ret
  195.  
  196.  
  197. erabuchk:
  198.      mov ax,1
  199.      KAKU 500,ax
  200.  
  201.      CALL_P ndera
  202.      ret
  203.  
  204.  
  205. fn_chk:
  206.      BOX box_f1,1     ; file nameを表示
  207.  
  208.      call f_name1
  209.      mov edx,edi
  210.      call mozi_oldf
  211.      add edi,14
  212. fn0:
  213.      mov al,[edx]
  214.      mov [edi],al
  215.      inc edx
  216.      inc edi
  217.      cmp al,0
  218.      jne fn0
  219.  
  220.      MOZI mozi_oldf
  221.      MOZI mozi_holdf
  222.      ret
  223.  
  224.  
  225. fn_chk1:
  226.      BOX box_f2,1
  227.  
  228.      call f_name2
  229.      mov edx,edi
  230.      call mozi_newf
  231.      add edi,14
  232. fn12:
  233.      mov al,[edx]
  234.      mov [edi],al
  235.      inc edx
  236.      inc edi
  237.      cmp al,0
  238.      jne fn12
  239.  
  240.      MOZI mozi_newf
  241.      MOZI mozi_hnewf
  242.      ret
  243.  
  244. cutf:
  245.      call f_name1
  246.      KAKU 400,edi
  247.      call f_name2
  248.      KAKU 404,edi
  249.  
  250.      call f_size
  251.      mov eax,[edi]
  252.      KAKU 502,eax
  253.  
  254.      CALL_P ndcutf
  255.  
  256.      ret
  257.  
  258.  
  259.  
  260. sdt_name:
  261.      call sub_edx
  262.       db     'CUTF\CUTF.DEF',0
  263.  
  264. yobu:
  265.      call sdt_name
  266.      RAM1 edi
  267.      add edi,255000
  268.  
  269.      M_LOAD
  270.  
  271. p_call:
  272.      M_P_CALL
  273. p_set:
  274.      M_P_SET
  275.  
  276. ;-----------------------------------------------------------
  277.  
  278. f_size:
  279.      call sub_edi
  280.      dd  0
  281.  
  282. f_name1:
  283.      call sub_edi
  284.      db  70 dup(0)
  285.  
  286.  
  287. f_name2:
  288.      call sub_edi
  289.      db  70 dup(0)
  290.  
  291. f_namef:
  292.      call sub_edi
  293.      db  30 dup(0)
  294.  
  295.  
  296.  
  297. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  298.  
  299. ndshok:
  300.      call sub_edi
  301.      dw     ?
  302.      db 'CFSHO',0
  303. ndera:
  304.      call sub_edi
  305.      dw     ?
  306.      db 'ERACHK',0
  307.  
  308. ndsaki:
  309.      call sub_edi
  310.      dw     ?
  311.      db 'SAKICK',0
  312. ndcsize:
  313.      call sub_edi
  314.      dw     ?
  315.      db 'CSIZE',0
  316. ndcutf:
  317.      call sub_edi
  318.      dw     ?
  319.      db 'CUTFM',0
  320.  
  321.  
  322. box_f1:
  323.     call sub_edi
  324.          dw     1,500,30,100,295,0,0,15,6,1
  325. box_f2:
  326.     call sub_edi
  327.          dw     1,500,30,100,345,0,0,15,6,1
  328. box_f3:
  329.     call sub_edi
  330.          dw     1,50,28,175,346,0,0,6,6,1
  331.  
  332. mozi_oldf:
  333.     call sub_edi
  334.        dw    1,15,250,300,0,0,1
  335.            db  70 dup(0)
  336.                 dw 0,0
  337.  
  338. mozi_newf:
  339.     call sub_edi
  340.        dw    1,15,250,350,0,0,1
  341.            db  70 dup(0)
  342.                 dw 0,0
  343.  
  344. mozi_holdf:
  345.     call sub_edi
  346.        dw    1,7,110,300,0,0,1
  347.             db  ' (元)',0
  348.                 dw 0,0
  349. mozi_hnewf:
  350.     call sub_edi
  351.        dw    1,7,110,350,0,0,1
  352.             db  '(分割)',0
  353.                 dw 0,0
  354.  
  355.  
  356.  
  357.  
  358. mozi_fsize:
  359.     call sub_edi
  360.        dw    1,15,170,300,0,0,1
  361.            db  '000000',0
  362.                 dw 0,0
  363. mozi_fcs:
  364.     call sub_edi
  365.        dw    1,15,170,350,0,0,1
  366.            db  '   000',0
  367.                 dw 0,0
  368.  
  369.  
  370.  
  371. stom_3:
  372.      pushad
  373.      mov ebx,3
  374.      jmp stom_0
  375.  
  376. stom_6:
  377.      pushad
  378.      mov ebx,6
  379.  
  380. stom_0:
  381.      cmp ax,0
  382.      je zerokaesi
  383. stom_0_0:
  384.      mov cx,10
  385.      mov dx,0
  386.      div cx
  387.      add dl,30h
  388.      mov [edi+ebx-1],dl
  389.      dec ebx
  390.      jnz stom_0
  391.  
  392.      popad
  393.      ret
  394.  
  395.  
  396. zerokaesi:
  397.      mov dl,160
  398.      mov [edi],dl
  399.      inc edi
  400.      dec ebx
  401.      cmp ebx,0
  402.      jne zerokaesi
  403.  
  404.      popad
  405.      ret
  406.  
  407.